home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / EmailViewer / FULL / EmailViewer15.jar / r.class (.txt) < prev    next >
Encoding:
Java Class File  |  2003-04-30  |  31.7 KB  |  1,466 lines

  1. import java.io.ByteArrayInputStream;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Writer;
  9. import java.util.EmptyStackException;
  10. import java.util.Enumeration;
  11. import java.util.Hashtable;
  12. import java.util.Stack;
  13. import java.util.Vector;
  14. import javax.microedition.io.ConnectionNotFoundException;
  15. import javax.microedition.io.Connector;
  16. import javax.microedition.io.HttpConnection;
  17. import javax.microedition.lcdui.Font;
  18. import javax.microedition.lcdui.Graphics;
  19. import javax.microedition.lcdui.Image;
  20. import javax.microedition.rms.InvalidRecordIDException;
  21. import javax.microedition.rms.RecordStore;
  22.  
  23. // $FF: renamed from: r
  24. class class_0 implements Runnable {
  25.    // $FF: renamed from: A java.lang.String
  26.    private String field_0;
  27.    // $FF: renamed from: p java.lang.String
  28.    private String field_1;
  29.    // $FF: renamed from: B boolean
  30.    private boolean field_2;
  31.    // $FF: renamed from: r int
  32.    private int field_3;
  33.    // $FF: renamed from: o int
  34.    private int field_4;
  35.    // $FF: renamed from: j z
  36.    private z field_5;
  37.    // $FF: renamed from: l java.lang.String
  38.    private String field_6;
  39.    // $FF: renamed from: y java.lang.String
  40.    private String field_7;
  41.    // $FF: renamed from: c java.lang.String
  42.    private String field_8;
  43.    // $FF: renamed from: e java.lang.String
  44.    private String field_9;
  45.    // $FF: renamed from: u o[]
  46.    private o[] field_10;
  47.    // $FF: renamed from: d java.lang.String
  48.    private String field_11;
  49.    // $FF: renamed from: k java.lang.String
  50.    private String field_12;
  51.    // $FF: renamed from: x boolean
  52.    private boolean field_13;
  53.    // $FF: renamed from: z boolean
  54.    private volatile boolean field_14 = false;
  55.    // $FF: renamed from: t int
  56.    private int field_15 = 0;
  57.    // $FF: renamed from: q int
  58.    private int field_16 = 0;
  59.    // $FF: renamed from: w int
  60.    private int field_17 = 1;
  61.    // $FF: renamed from: i java.lang.String
  62.    private String field_18 = "Contacting server";
  63.    // $FF: renamed from: a java.util.Vector
  64.    private Vector field_19;
  65.    // $FF: renamed from: C java.util.Vector
  66.    private Vector field_20;
  67.    // $FF: renamed from: n java.util.Hashtable
  68.    private Hashtable field_21;
  69.    // $FF: renamed from: h int
  70.    private int field_22 = 0;
  71.    // $FF: renamed from: g int
  72.    private int field_23 = 0;
  73.    // $FF: renamed from: s java.util.Stack
  74.    private Stack field_24;
  75.    // $FF: renamed from: m javax.microedition.lcdui.Font
  76.    private Font field_25;
  77.    // $FF: renamed from: v int
  78.    private int field_26 = 0;
  79.    // $FF: renamed from: b int
  80.    private int field_27;
  81.    // $FF: renamed from: f byte
  82.    private byte field_28 = 0;
  83.  
  84.    class_0(z var1, String var2, String var3, String var4, o[] var5, String var6, String var7, boolean var8, Vector var9, Vector var10, Hashtable var11) {
  85.       this.field_5 = var1;
  86.       this.field_6 = var2;
  87.       this.field_8 = var3;
  88.       this.field_9 = var4;
  89.       this.field_10 = var5;
  90.       this.field_11 = var6;
  91.       this.field_12 = var7;
  92.       this.field_13 = var8;
  93.       this.field_19 = var9;
  94.       this.field_20 = var10;
  95.       this.field_21 = var11;
  96.       this.field_0 = var1.b;
  97.       this.field_1 = var1.Q;
  98.       this.field_2 = var1.W;
  99.       this.field_3 = var1.Y;
  100.       this.field_4 = var1.E;
  101.       this.field_25 = var1.ae;
  102.       this.field_27 = this.field_25.getHeight();
  103.    }
  104.  
  105.    // $FF: renamed from: d () void
  106.    void method_0() {
  107.       this.field_14 = true;
  108.    }
  109.  
  110.    // $FF: renamed from: c (java.lang.String) java.lang.String
  111.    static String method_1(String var0) {
  112.       int var1 = var0.indexOf(37);
  113.       if (var1 < 0) {
  114.          return var0;
  115.       } else {
  116.          StringBuffer var2 = new StringBuffer();
  117.  
  118.          for(int var3 = 0; var3 < var0.length(); ++var3) {
  119.             char var4 = var0.charAt(var3);
  120.             if (var4 == '%' && var3 + 2 < var0.length()) {
  121.                try {
  122.                   var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
  123.                   var3 += 2;
  124.                   continue;
  125.                } catch (NumberFormatException var6) {
  126.                }
  127.             }
  128.  
  129.             var2.append(var4);
  130.          }
  131.  
  132.          return var2.toString();
  133.       }
  134.    }
  135.  
  136.    // $FF: renamed from: a (java.lang.String) java.lang.String
  137.    private String method_2(String var1) {
  138.       int var2 = var1.indexOf("JSESSIONID=");
  139.       if (var2 == -1) {
  140.          return null;
  141.       } else {
  142.          int var3 = var1.indexOf(59, var2);
  143.          return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
  144.       }
  145.    }
  146.  
  147.    // $FF: renamed from: d (java.lang.String) boolean
  148.    private boolean method_3(String var1) {
  149.       return var1.toLowerCase().startsWith("https:");
  150.    }
  151.  
  152.    public void run() {
  153.       try {
  154.          HttpConnection var1 = null;
  155.          Object var2 = null;
  156.          OutputStreamWriter var3 = null;
  157.  
  158.          try {
  159.             try {
  160.                int var4 = this.field_6.indexOf(35);
  161.                if (var4 >= 0) {
  162.                   this.field_7 = this.field_6.substring(var4 + 1);
  163.                   this.field_6 = this.field_6.substring(0, var4);
  164.                }
  165.  
  166.                String var5 = this.field_6;
  167.                Object var6 = null;
  168.                byte var7 = 0;
  169.                int var8 = -1;
  170.                var4 = 0;
  171.  
  172.                while(var4 <= 6) {
  173.                   if (var4 == 0) {
  174.                      this.method_4(1, 0, (Throwable)null);
  175.                   }
  176.  
  177.                   int var9 = this.method_3(this.field_6);
  178.                   String var10 = var9 ? this.field_5.x : this.field_5.B;
  179.  
  180.                   try {
  181.                      var1 = (HttpConnection)Connector.open(var10);
  182.                   } catch (ConnectionNotFoundException var61) {
  183.                      if (var9) {
  184.                         throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
  185.                      }
  186.  
  187.                      throw var61;
  188.                   }
  189.  
  190.                   var1.setRequestMethod("POST");
  191.                   if (this.field_5.O) {
  192.                      var1.setRequestProperty("Connection", "close");
  193.                   }
  194.  
  195.                   String var11 = this.field_5.T;
  196.                   if (var11 != null) {
  197.                      var1.setRequestProperty("Cookie", "JSESSIONID=" + var11);
  198.                   }
  199.  
  200.                   var1.setRequestProperty("Content-Type", "text/xml");
  201.                   var1.setRequestProperty("Accept", "application/xml");
  202.                   Thread.yield();
  203.                   if (this.field_14) {
  204.                      return;
  205.                   }
  206.  
  207.                   var3 = new OutputStreamWriter(var1.openOutputStream());
  208.                   ((Writer)var3).write("<req vid=\"68\" ver=\"3.0E");
  209.                   if (this.field_5.r != null) {
  210.                      ((Writer)var3).write("\" c=\"" + this.field_5.r);
  211.                   }
  212.  
  213.                   if (var9 && this.field_5.ac != null) {
  214.                      ((Writer)var3).write("\" s=\"" + this.field_5.ac);
  215.                   }
  216.  
  217.                   if (this.field_0 != null) {
  218.                      ((Writer)var3).write("\" u=\"" + this.method_15(this.field_0, true));
  219.                   }
  220.  
  221.                   if (this.field_1 != null) {
  222.                      ((Writer)var3).write("\" l=\"" + this.method_15(this.field_1, true));
  223.                   }
  224.  
  225.                   ((Writer)var3).write("\"><uri");
  226.                   if (this.field_12 != null) {
  227.                      ((Writer)var3).write(" ref=\"" + this.method_15(this.field_12, true) + '"');
  228.                   }
  229.  
  230.                   if (this.field_13) {
  231.                      ((Writer)var3).write(" noCache=\"1\"");
  232.                   }
  233.  
  234.                   ((Writer)var3).write('>' + this.method_15(this.field_6, false) + "</uri>" + "<display width=\"" + this.field_3 + "\" height=\"" + this.field_4 + "\" images=\"" + this.field_2 + "\" cookies=\"" + (short)this.field_5.a + "\" isColor=\"" + this.field_5.I + "\" numColors=\"" + this.field_5.G);
  235.                   this.field_6 = null;
  236.                   if (this.field_5.t > 0) {
  237.                      ((Writer)var3).write("\" l=\"" + this.field_5.t);
  238.                   }
  239.  
  240.                   if (this.field_5.v && this.field_5.G > 16) {
  241.                      ((Writer)var3).write("\" i=\"j");
  242.                   }
  243.  
  244.                   ((Writer)var3).write("\"/>");
  245.                   if (this.field_10 != null) {
  246.                      ((Writer)var3).write("<f");
  247.                      if (this.field_8 != null) {
  248.                         ((Writer)var3).write(" method=\"" + this.method_15(this.field_8, true) + '"');
  249.                         this.field_8 = null;
  250.                      }
  251.  
  252.                      if (this.field_9 != null) {
  253.                         ((Writer)var3).write(" enctype=\"" + this.method_15(this.field_9, true) + '"');
  254.                         this.field_9 = null;
  255.                      }
  256.  
  257.                      if (this.field_11 != null) {
  258.                         ((Writer)var3).write(" charset=\"" + this.method_15(this.field_11, true) + '"');
  259.                      }
  260.  
  261.                      var3.write(62);
  262.  
  263.                      for(int var12 = 0; var12 < this.field_10.length; ++var12) {
  264.                         ((Writer)var3).write("<nv n=\"");
  265.                         ((Writer)var3).write(this.method_15(this.field_10[var12].a, true));
  266.                         ((Writer)var3).write("\" v=\"");
  267.                         ((Writer)var3).write(this.method_15(this.field_10[var12].b, true));
  268.                         ((Writer)var3).write("\"/>");
  269.                      }
  270.  
  271.                      this.field_10 = null;
  272.                      ((Writer)var3).write("</f>");
  273.                   }
  274.  
  275.                   ((Writer)var3).write("</req>");
  276.                   if (!var9) {
  277.                      var3.close();
  278.                   }
  279.  
  280.                   Thread.yield();
  281.                   if (this.field_14) {
  282.                      return;
  283.                   }
  284.  
  285.                   if (var4 == 0) {
  286.                      this.method_4(1, 100, (Throwable)null);
  287.                      this.field_18 = "Waiting...";
  288.                      this.method_4(2, 0, (Throwable)null);
  289.                   }
  290.  
  291.                   var2 = var1.openInputStream();
  292.                   String var74 = var1.getHeaderField("Set-Cookie");
  293.                   if (var74 != null) {
  294.                      this.field_5.T = this.method_2(var74);
  295.                   }
  296.  
  297.                   var8 = (int)var1.getLength();
  298.                   if (!"application/xml".equals(var1.getType())) {
  299.                      throw new IOException("Unexpected server response: " + var1.getResponseCode() + ' ' + var1.getResponseMessage() + "; " + var1.getType());
  300.                   }
  301.  
  302.                   if (this.field_5.t == 20000) {
  303.                      ByteArrayInputStream var13 = new ByteArrayInputStream(this.method_5((InputStream)var2, var8, 2));
  304.                      ((InputStream)var2).close();
  305.                      var1.close();
  306.                      var2 = var13;
  307.                   }
  308.  
  309.                   DataInputStream var67;
  310.                   if (this.field_5.d) {
  311.                      var67 = new DataInputStream(new q((InputStream)var2, true));
  312.                   } else {
  313.                      var67 = new DataInputStream((InputStream)var2);
  314.                   }
  315.  
  316.                   while(true) {
  317.                      Thread.yield();
  318.                      if (this.field_14) {
  319.                         return;
  320.                      }
  321.  
  322.                      var7 = var67.readByte();
  323.                      if (var7 < 0) {
  324.                         if (this.field_6 == null) {
  325.                            this.method_4(2, 100, (Throwable)null);
  326.                            if (var7 == -1) {
  327.                               var9 = var67.readInt();
  328.                               this.field_15 = var67.readUnsignedShort();
  329.                               if (var9 > 0) {
  330.                                  var5 = null;
  331.                                  this.field_18 = "Loading text - " + (var9 / 1024 + 1) + 'K';
  332.                                  if (z.H.stringWidth(this.field_18) >= this.field_3 - 2) {
  333.                                     this.field_18 = "Text - " + (var9 / 1024 + 1) + 'K';
  334.                                  }
  335.  
  336.                                  this.method_6(new q((InputStream)var2, this.field_5.d), var9);
  337.                               } else {
  338.                                  this.field_18 = "Loading text";
  339.                                  this.method_4(16, 100, (Throwable)null);
  340.                               }
  341.  
  342.                               if (this.field_15 > 0 && var8 >= 0) {
  343.                                  this.field_18 = "Loading images - " + ((var8 - var9) / 1024 + 1) + 'K';
  344.                                  if (z.H.stringWidth(this.field_18) >= this.field_3 - 2) {
  345.                                     this.field_18 = "Images - " + ((var8 - var9) / 1024 + 1) + 'K';
  346.                                  }
  347.                               } else {
  348.                                  this.field_18 = "Loading images";
  349.                               }
  350.  
  351.                               int var73 = 0;
  352.  
  353.                               while(var73 < this.field_15) {
  354.                                  this.method_4(64, var73++ * 100 / this.field_15, (Throwable)null);
  355.                                  Thread.yield();
  356.                                  if (this.field_14) {
  357.                                     return;
  358.                                  }
  359.  
  360.                                  var9 = var67.readInt();
  361.                                  if (var5 != null) {
  362.                                     this.method_14((InputStream)var2, var5, var9, true);
  363.                                  } else {
  364.                                     this.method_14((InputStream)var2, var67.readUTF(), var9, this.field_15 == 1);
  365.                                  }
  366.                               }
  367.  
  368.                               if (this.field_17 != 64 || this.field_16 != 100) {
  369.                                  this.method_4(64, 100, (Throwable)null);
  370.                               }
  371.  
  372.                               return;
  373.                            }
  374.  
  375.                            z var70 = this.field_5.o();
  376.                            if (var70 == null) {
  377.                               throw new IOException("Invalid header");
  378.                            }
  379.  
  380.                            var70.a(var7, new q((InputStream)var2, this.field_5.d));
  381.                            return;
  382.                         }
  383.  
  384.                         if (var4 == 1) {
  385.                            this.method_4(2, 50, (Throwable)null);
  386.                         }
  387.  
  388.                         ((InputStream)var2).close();
  389.                         var1.close();
  390.                         ++var4;
  391.                         break;
  392.                      }
  393.  
  394.                      if (var7 == 0) {
  395.                         var5 = var67.readUTF();
  396.                         if (this.field_7 != null) {
  397.                            var5 = var5 + '#' + this.field_7;
  398.                         }
  399.  
  400.                         this.field_5.q = var5;
  401.                      } else if (var7 == 1) {
  402.                         String var75 = var67.readUTF();
  403.                         RecordStore var14 = null;
  404.  
  405.                         try {
  406.                            var14 = RecordStore.openRecordStore("cleentID", true);
  407.                            ByteArrayOutputStream var15 = new ByteArrayOutputStream();
  408.                            DataOutputStream var16 = new DataOutputStream(var15);
  409.                            var16.writeUTF(var75);
  410.                            var16.flush();
  411.                            byte[] var17 = var15.toByteArray();
  412.  
  413.                            try {
  414.                               var14.setRecord(1, var17, 0, var17.length);
  415.                            } catch (InvalidRecordIDException var58) {
  416.                               var14.addRecord(var17, 0, var17.length);
  417.                            }
  418.  
  419.                            this.field_5.r = var75;
  420.                            if (var75.length() > 0 && var75.charAt(0) == '$') {
  421.                               z.V = true;
  422.                               if (EV.B.size() == 8) {
  423.                                  EV.B.delete(5);
  424.                               }
  425.                            }
  426.                         } catch (Exception var59) {
  427.                         } finally {
  428.                            if (var14 != null) {
  429.                               try {
  430.                                  var14.closeRecordStore();
  431.                               } catch (Exception var57) {
  432.                               }
  433.                            }
  434.  
  435.                         }
  436.                      } else if (var7 == 2) {
  437.                         this.field_5.ac = var67.readUTF();
  438.                      } else if (var7 == 3) {
  439.                         this.field_6 = var67.readUTF();
  440.                      }
  441.                   }
  442.                }
  443.  
  444.                throw new IOException();
  445.             } catch (OutOfMemoryError var62) {
  446.                this.field_0 = null;
  447.                this.field_1 = null;
  448.                this.field_6 = null;
  449.                this.field_11 = null;
  450.                this.field_12 = null;
  451.                System.gc();
  452.                this.method_4(this.field_17, this.field_16, var62);
  453.             } catch (Exception var63) {
  454.                Thread.yield();
  455.                this.method_4(this.field_17, this.field_16, var63);
  456.             }
  457.  
  458.          } finally {
  459.             try {
  460.                if (var2 != null) {
  461.                   ((InputStream)var2).close();
  462.                }
  463.  
  464.                if (var3 != null) {
  465.                   var3.close();
  466.                }
  467.  
  468.                if (var1 != null) {
  469.                   var1.close();
  470.                }
  471.             } catch (IOException var56) {
  472.             }
  473.  
  474.             this.field_5.repaint(0, 0, this.field_3, this.field_4);
  475.          }
  476.       } catch (OutOfMemoryError var65) {
  477.          this.method_4(this.field_17, this.field_16, var65);
  478.       }
  479.    }
  480.  
  481.    // $FF: renamed from: a (int, int, java.lang.Throwable) void
  482.    private void method_4(int var1, int var2, Throwable var3) {
  483.       if (!this.field_14) {
  484.          if (var1 == 64 && var2 == 100) {
  485.             this.field_18 = "Done loading";
  486.          }
  487.  
  488.          this.field_5.a(this.field_18, var2, var3);
  489.          k var4 = this.field_5.b();
  490.          if (var4 != null && (var2 != this.field_16 || this.field_17 != var1 || var3 != null || var1 == 1)) {
  491.             var4.a(var1, var2, var3);
  492.             this.field_16 = var2;
  493.          }
  494.  
  495.          this.field_17 = var1;
  496.       }
  497.    }
  498.  
  499.    // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
  500.    private byte[] method_5(InputStream var1, int var2, int var3) throws IOException {
  501.       byte[] var4 = new byte[var2];
  502.       int var6 = 0;
  503.  
  504.       while(var6 < var2) {
  505.          if (!this.field_5.d) {
  506.             int var7;
  507.             if (var2 - var6 < 256) {
  508.                var7 = var1.read(var4, var6, var2 - var6);
  509.             } else {
  510.                var7 = var1.read(var4, var6, 256);
  511.             }
  512.  
  513.             Thread.yield();
  514.             if (this.field_14 || var7 == -1) {
  515.                break;
  516.             }
  517.  
  518.             var6 += var7;
  519.          } else {
  520.             int var5;
  521.             do {
  522.                var5 = var1.read();
  523.                if (var5 == -1) {
  524.                   break;
  525.                }
  526.  
  527.                var4[var6++] = (byte)var5;
  528.             } while(var6 % 128 != 0 && var6 < var2);
  529.  
  530.             Thread.yield();
  531.             if (this.field_14 || var5 == -1) {
  532.                break;
  533.             }
  534.          }
  535.  
  536.          if (var3 >= 0) {
  537.             this.method_4(var3, var6 * 100 / var2, (Throwable)null);
  538.          }
  539.       }
  540.  
  541.       return var4;
  542.    }
  543.  
  544.    // $FF: renamed from: a (q, int) void
  545.    private void method_6(q var1, int var2) throws IOException {
  546.       if (this.field_15 > 0) {
  547.          this.field_5.g = new Hashtable();
  548.       }
  549.  
  550.       this.field_24 = new Stack();
  551.       l var3 = null;
  552.       j var4 = null;
  553.       v var5 = null;
  554.       u var6 = null;
  555.       f var7 = null;
  556.       b var8 = null;
  557.       b var9 = null;
  558.       boolean var10 = false;
  559.       boolean var11 = false;
  560.       boolean var12 = false;
  561.       int var13 = -1;
  562.       Stack var14 = null;
  563.       String var15 = null;
  564.       String var16 = null;
  565.       DataInputStream var17 = new DataInputStream(var1);
  566.  
  567.       while(true) {
  568.          Thread.yield();
  569.          if (this.field_14) {
  570.             return;
  571.          }
  572.  
  573.          this.method_4(16, var1.c * 100 / var2, (Throwable)null);
  574.          String[] var20 = new String[4];
  575.          int[] var21 = new int[4];
  576.          byte[] var22 = new byte[2];
  577.          boolean[] var23 = new boolean[2];
  578.          int[] var24 = null;
  579.          byte var18 = var17.readByte();
  580.          if (var18 >= 60) {
  581.             var18 = (byte)(var18 - 60);
  582.  
  583.             while(true) {
  584.                byte var19 = var17.readByte();
  585.                if (var19 == -1) {
  586.                   break;
  587.                }
  588.  
  589.                if (var19 >= 80) {
  590.                   var19 = (byte)(var19 - 80);
  591.                   String var41 = var17.readUTF();
  592.                   if (var19 >= 0 && var19 < 4) {
  593.                      var20[var19] = var41;
  594.                   }
  595.                } else if (var19 >= 60) {
  596.                   var19 = (byte)(var19 - 60);
  597.                   int var40 = var17.readUnsignedShort();
  598.                   if (var19 >= 0 && var19 < 4) {
  599.                      var21[var19] = var40;
  600.                   }
  601.                } else if (var19 >= 40) {
  602.                   var19 = (byte)(var19 - 40);
  603.                   if (var19 >= 0 && var19 < 2) {
  604.                      var23[var19] = true;
  605.                   }
  606.                } else if (var19 >= 20) {
  607.                   var19 = (byte)(var19 - 20);
  608.                   byte var39 = var17.readByte();
  609.                   if (var19 >= 0 && var19 < 2) {
  610.                      var22[var19] = var39;
  611.                   }
  612.                } else {
  613.                   var24 = new int[var17.readUnsignedShort()];
  614.  
  615.                   for(int var25 = 0; var25 < var24.length; ++var25) {
  616.                      var24[var25] = var17.readUnsignedShort();
  617.                   }
  618.                }
  619.             }
  620.          }
  621.  
  622.          if (var18 == 0) {
  623.             String var43 = var17.readUTF();
  624.             if (var11) {
  625.                this.field_5.i = var43;
  626.             } else if (var7 != null) {
  627.                var16 = var43;
  628.             } else if (var6 != null) {
  629.                String var51 = var6.d();
  630.                if (var51 != null) {
  631.                   var6.a(var51 + var43);
  632.                } else {
  633.                   var6.a(var43);
  634.                }
  635.             } else {
  636.                if (this.field_22 <= 0 && !var10) {
  637.                   int var50;
  638.                   for(var50 = 0; var50 < var43.length() && var43.charAt(var50) <= ' '; ++var50) {
  639.                   }
  640.  
  641.                   if (var50 > 0) {
  642.                      var43 = var43.substring(var50);
  643.                   }
  644.                }
  645.  
  646.                if (var3 != null) {
  647.                   this.method_13(var43, var3);
  648.                } else {
  649.                   this.method_13(var43, var4);
  650.                }
  651.             }
  652.          } else if (var18 == 32) {
  653.             if (this.field_22 > 0) {
  654.                this.field_22 += this.field_25.charWidth(' ');
  655.             }
  656.          } else {
  657.             boolean var42 = var18 >= 0;
  658.             if (!var42) {
  659.                var18 *= -1;
  660.             }
  661.  
  662.             if ((var18 & 1) != 0) {
  663.                if (var42 && (this.field_22 > 0 || var10)) {
  664.                   if (var18 != 1) {
  665.                      this.field_23 += this.field_25.getHeight() / 3;
  666.                   }
  667.  
  668.                   this.method_17(this.field_25.getHeight());
  669.                }
  670.  
  671.                switch (var18) {
  672.                   case 3:
  673.                      if (var42) {
  674.                         var5 = new v(var20[0], var22[0] != 0, var20[1], var20[2]);
  675.                      }
  676.                   case 4:
  677.                   case 6:
  678.                   case 8:
  679.                   case 10:
  680.                   case 12:
  681.                   case 14:
  682.                   case 16:
  683.                   default:
  684.                      break;
  685.                   case 5:
  686.                      if (var42) {
  687.                         StringBuffer var49 = new StringBuffer(2);
  688.                         if (var14 != null) {
  689.                            for(int var56 = 0; var56 < ((Vector)var14).size() && var56 < 4; ++var56) {
  690.                               var49.append('┬á').append('┬á');
  691.                            }
  692.                         }
  693.  
  694.                         if (var13 > 0) {
  695.                            var49.append(String.valueOf(var13++));
  696.                            var49.append('.');
  697.                         } else {
  698.                            var49.append('*');
  699.                         }
  700.  
  701.                         this.method_13(var49.toString(), (e)null);
  702.                         this.field_22 += this.field_25.charWidth(' ');
  703.                      }
  704.                      break;
  705.                   case 7:
  706.                   case 9:
  707.                      if (var42) {
  708.                         if (var13 >= 0) {
  709.                            if (var14 == null) {
  710.                               var14 = new Stack();
  711.                            }
  712.  
  713.                            var14.push(new Integer(var13));
  714.                         }
  715.  
  716.                         if (var18 == 9) {
  717.                            var13 = 1;
  718.                         } else {
  719.                            var13 = 0;
  720.                         }
  721.                      } else if (var14 != null) {
  722.                         try {
  723.                            var13 = (Integer)var14.pop();
  724.                         } catch (EmptyStackException var32) {
  725.                         }
  726.  
  727.                         if (var14.empty()) {
  728.                            var14 = null;
  729.                         }
  730.                      } else {
  731.                         var13 = -1;
  732.                      }
  733.                      break;
  734.                   case 11:
  735.                   case 13:
  736.                      if (var42) {
  737.                         this.field_25 = Font.getFont(this.field_25.getFace(), this.field_5.d ? 0 : 1, var18 == 11 ? 16 : 0);
  738.                      } else {
  739.                         this.field_25 = this.field_5.ae;
  740.                      }
  741.                      break;
  742.                   case 15:
  743.                      var10 = var42;
  744.                      if (var42) {
  745.                         this.method_8();
  746.                      } else {
  747.                         this.method_16();
  748.                      }
  749.                      break;
  750.                   case 17:
  751.                      if (var42) {
  752.                         this.method_9();
  753.                      } else {
  754.                         this.method_16();
  755.                      }
  756.                }
  757.  
  758.                if (!var42 && this.field_22 > 0) {
  759.                   if (var18 != 1) {
  760.                      this.field_23 += this.field_25.getHeight() / 3;
  761.                   }
  762.  
  763.                   this.method_17(this.field_25.getHeight());
  764.                }
  765.             } else {
  766.                switch (var18) {
  767.                   case 2:
  768.                      var11 = var42;
  769.                   case 3:
  770.                   case 5:
  771.                   case 7:
  772.                   case 9:
  773.                   case 11:
  774.                   case 13:
  775.                   case 15:
  776.                   case 17:
  777.                   case 19:
  778.                   case 21:
  779.                   case 23:
  780.                   case 25:
  781.                   case 27:
  782.                   case 29:
  783.                   case 31:
  784.                   case 32:
  785.                   case 33:
  786.                   default:
  787.                      break;
  788.                   case 4:
  789.                      if (var42) {
  790.                         String var48 = var20[0];
  791.                         String var55 = var20[1];
  792.                         if (var48 != null) {
  793.                            if (var3 != null) {
  794.                               this.method_10(var3);
  795.                            }
  796.  
  797.                            var3 = new l(var48);
  798.                            this.field_24.push(this.field_25);
  799.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 4, this.field_25.getSize());
  800.                            this.field_26 |= 1;
  801.                         }
  802.  
  803.                         if (var55 != null && this.field_21 != null) {
  804.                            this.method_7(var55);
  805.                         }
  806.                      } else if (var3 != null) {
  807.                         this.method_10(var3);
  808.                         var3 = null;
  809.                      }
  810.                      break;
  811.                   case 6:
  812.                      if (var42) {
  813.                         if (var3 != null) {
  814.                            this.method_11(var20, var21, var22, var23, var3);
  815.                         } else {
  816.                            this.method_11(var20, var21, var22, var23, var4);
  817.                         }
  818.                      }
  819.                      break;
  820.                   case 8:
  821.                      if (var42) {
  822.                         this.field_24.push(this.field_25);
  823.                         if (!this.field_5.d) {
  824.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 1, this.field_25.getSize());
  825.                         }
  826.                      } else {
  827.                         this.method_16();
  828.                      }
  829.                      break;
  830.                   case 10:
  831.                      if (var42) {
  832.                         this.method_9();
  833.                      } else {
  834.                         this.method_16();
  835.                      }
  836.                      break;
  837.                   case 12:
  838.                      if (!var42) {
  839.                         break;
  840.                      }
  841.  
  842.                      byte var47 = var22[1];
  843.                      String var54 = var20[2];
  844.                      String var58 = var20[3];
  845.                      if (var47 != 0 && var47 != 1) {
  846.                         if (var47 == 2) {
  847.                            if (var58 == null) {
  848.                               var58 = "on";
  849.                            }
  850.  
  851.                            w var62 = new w(var54, var58, var23[0]);
  852.                            if (var5 != null) {
  853.                               var5.a(var62);
  854.                            }
  855.  
  856.                            this.field_20.addElement(new d(var62, this.field_19.size()));
  857.                            int var65 = this.field_25.getHeight() - 2;
  858.                            if (var65 > this.field_3 - this.field_22) {
  859.                               this.method_17(var65 + 2);
  860.                            } else {
  861.                               this.method_20(var65 + 2);
  862.                            }
  863.  
  864.                            this.field_19.addElement(new t(var62, this.field_22, this.method_18(var65), var65, var65, 0, (Font)null));
  865.                            this.field_22 += var65 + 1;
  866.                         } else if (var47 == 3) {
  867.                            if (var58 == null) {
  868.                               var58 = "on";
  869.                            }
  870.  
  871.                            aa var61 = new aa(var5, var54, var58, var23[0]);
  872.                            if (var5 != null) {
  873.                               var5.a(var61);
  874.                            }
  875.  
  876.                            this.field_20.addElement(new d(var61, this.field_19.size()));
  877.                            int var64 = this.field_25.getHeight();
  878.                            if (var64 > this.field_3 - this.field_22) {
  879.                               this.method_17(var64 + 2);
  880.                            } else {
  881.                               this.method_20(var64 + 2);
  882.                            }
  883.  
  884.                            this.field_19.addElement(new t(var61, this.field_22, this.method_18(var64), var64, var64, 0, (Font)null));
  885.                            this.field_22 += var64 + 1;
  886.                         } else {
  887.                            if (var47 != 4 && var47 != 5) {
  888.                               if (var47 == 7) {
  889.                                  if (var5 != null && var54 != null) {
  890.                                     if (var58 == null) {
  891.                                        var58 = "";
  892.                                     }
  893.  
  894.                                     var5.a(new u(var54, var58, true));
  895.                                  }
  896.                               } else if (var47 == 8) {
  897.                                  if (var54 == null) {
  898.                                     var54 = "";
  899.                                  }
  900.  
  901.                                  if (var54.length() > 0) {
  902.                                     var54 = var54 + '.';
  903.                                  }
  904.  
  905.                                  u var60 = new u(var54 + 'x', (String)null, false);
  906.                                  u var63 = new u(var54 + 'y', (String)null, false);
  907.                                  if (var5 != null) {
  908.                                     var5.a(var60);
  909.                                     var5.a(var63);
  910.                                  }
  911.  
  912.                                  var4 = new j(var5, var60, var63);
  913.                                  if (this.field_2) {
  914.                                     this.method_11(var20, var21, var22, var23, var4);
  915.                                  } else {
  916.                                     String var31 = var20[1];
  917.                                     this.field_22 += this.method_13(var31, var4) + 1;
  918.                                  }
  919.  
  920.                                  this.field_20.addElement(var4);
  921.                                  var4 = null;
  922.                               }
  923.                               break;
  924.                            }
  925.  
  926.                            u var29 = null;
  927.                            if (var47 == 5) {
  928.                               if (var58 == null || var58.length() == 0) {
  929.                                  var58 = "Reset";
  930.                               }
  931.                            } else {
  932.                               if (var58 == null || var58.length() == 0) {
  933.                                  var58 = "Submit";
  934.                               }
  935.  
  936.                               var29 = new u(var54, var58, false);
  937.                               if (var5 != null) {
  938.                                  var5.a(var29);
  939.                               }
  940.                            }
  941.  
  942.                            var58 = '┬á' + var58 + '┬á';
  943.                            var4 = new j(var5, var29, (u)null);
  944.                            int var30 = this.field_25.stringWidth(var58);
  945.                            if (var30 >= this.field_3 - this.field_22 && this.field_22 > 0) {
  946.                               this.method_17(this.field_25.getHeight() + 1);
  947.                            }
  948.  
  949.                            this.field_22 = this.method_13(var58, var4) + 1;
  950.                            this.field_20.addElement(var4);
  951.                            var4 = null;
  952.                         }
  953.                      } else {
  954.                         if (var58 == null) {
  955.                            var58 = "";
  956.                         }
  957.  
  958.                         if (var47 == 1) {
  959.                            this.method_12(var54, var58, 1, var21[2], var21[3], 65536, var5);
  960.                         } else {
  961.                            this.method_12(var54, var58, 1, var21[2], var21[3], 0, var5);
  962.                         }
  963.                      }
  964.                      break;
  965.                   case 14:
  966.                      if (var42) {
  967.                         var7 = new f(var20[0], var23[0]);
  968.                         break;
  969.                      }
  970.  
  971.                      var7.d.trimToSize();
  972.                      if (var5 != null) {
  973.                         var5.a(var7);
  974.                      }
  975.  
  976.                      this.field_20.addElement(new g(var7, this.field_19.size(), this.field_25));
  977.                      int var45 = 0;
  978.                      Enumeration var53 = var7.d.elements();
  979.  
  980.                      while(var53.hasMoreElements()) {
  981.                         int var57 = this.field_25.stringWidth(((p)var53.nextElement()).a());
  982.                         if (var57 > var45) {
  983.                            var45 = var57;
  984.                            if (var57 > this.field_3 - this.field_25.getHeight()) {
  985.                               var45 = this.field_3 - this.field_25.getHeight();
  986.                               break;
  987.                            }
  988.                         }
  989.                      }
  990.  
  991.                      var45 += this.field_25.getHeight();
  992.                      if (var45 > this.field_3 - this.field_22) {
  993.                         this.method_17(this.field_25.getHeight() + 2);
  994.                      } else {
  995.                         this.method_20(this.field_25.getHeight() + 2);
  996.                      }
  997.  
  998.                      this.field_19.addElement(new t(var7, this.field_22, this.method_18(this.field_25.getHeight()), var45, this.field_25.getHeight(), 0, (Font)null));
  999.                      this.field_22 += var45 + 1;
  1000.                      var7 = null;
  1001.                      break;
  1002.                   case 16:
  1003.                      if (var42) {
  1004.                         var15 = var20[0];
  1005.                         var12 = var23[0];
  1006.                      } else {
  1007.                         if (var7 != null) {
  1008.                            if (var16 == null) {
  1009.                               var16 = "";
  1010.                            }
  1011.  
  1012.                            var7.d.addElement(new p(var7, var16, var15 == null ? var16 : var15, var12));
  1013.                         }
  1014.  
  1015.                         var15 = null;
  1016.                         var16 = null;
  1017.                      }
  1018.                      break;
  1019.                   case 18:
  1020.                      if (var42) {
  1021.                         var6 = this.method_12(var20[0], (String)null, var21[0], var21[1], -1, 0, var5);
  1022.                      } else if (var6 != null) {
  1023.                         if (var6.d() == null) {
  1024.                            var6.a("");
  1025.                         }
  1026.  
  1027.                         var6 = null;
  1028.                      }
  1029.                      break;
  1030.                   case 20:
  1031.                      if (var42) {
  1032.                         this.method_8();
  1033.                      } else {
  1034.                         this.method_16();
  1035.                      }
  1036.                      break;
  1037.                   case 22:
  1038.                      if (var42) {
  1039.                         String var44 = var20[0];
  1040.                         b var52 = new b(var8, var44, var22[0], var24);
  1041.                         if (var8 == null) {
  1042.                            var8 = var52;
  1043.                         }
  1044.  
  1045.                         if (var9 != null) {
  1046.                            var9.a = var52;
  1047.                         }
  1048.  
  1049.                         var9 = var52;
  1050.                         var52.a(this.field_19.size());
  1051.                         if (var44 != null) {
  1052.                            this.field_20.addElement(var52);
  1053.                         }
  1054.                      }
  1055.                      break;
  1056.                   case 24:
  1057.                      if (!var42 && this.field_2) {
  1058.                         var8 = null;
  1059.                         var9 = null;
  1060.                      }
  1061.                      break;
  1062.                   case 26:
  1063.                      if (!var42) {
  1064.                         this.method_4(16, 100, (Throwable)null);
  1065.                         this.field_20.trimToSize();
  1066.                         this.field_19.trimToSize();
  1067.                         return;
  1068.                      }
  1069.                      break;
  1070.                   case 28:
  1071.                      if (var42) {
  1072.                         byte var26 = var22[0];
  1073.                         u var27 = null;
  1074.                         if (var26 == 0) {
  1075.                            String var28 = var20[1];
  1076.                            if (var28 == null) {
  1077.                               var28 = "";
  1078.                            }
  1079.  
  1080.                            var27 = new u(var20[0], var28, false);
  1081.                            if (var5 != null) {
  1082.                               var5.a(var27);
  1083.                            }
  1084.                         }
  1085.  
  1086.                         var4 = new j(var5, var27, (u)null);
  1087.                         if (this.field_22 > 0) {
  1088.                            this.method_17(this.field_25.getHeight() + 1);
  1089.                         }
  1090.                      } else if (var4 != null) {
  1091.                         if (var4.b() > 0) {
  1092.                            this.field_20.addElement(var4);
  1093.                         }
  1094.  
  1095.                         var4 = null;
  1096.                         if (this.field_22 > 0) {
  1097.                            this.method_17(this.field_25.getHeight());
  1098.                         }
  1099.                      }
  1100.                      break;
  1101.                   case 30:
  1102.                      if (var42) {
  1103.                         this.field_26 |= 2;
  1104.                         if ((this.field_26 & 1) != 0) {
  1105.                            this.field_26 |= 4;
  1106.                         }
  1107.                      } else {
  1108.                         this.field_26 &= -3;
  1109.                         this.field_26 &= -5;
  1110.                      }
  1111.                      break;
  1112.                   case 34:
  1113.                      if (var42 && var20[0] != null) {
  1114.                         this.method_7(var20[0]);
  1115.                      }
  1116.                }
  1117.             }
  1118.          }
  1119.       }
  1120.    }
  1121.  
  1122.    // $FF: renamed from: b (java.lang.String) void
  1123.    private void method_7(String var1) {
  1124.       if (this.field_21 != null) {
  1125.          this.field_21.put(var1, new Integer(this.field_23));
  1126.          if (this.field_7 != null && method_1(this.field_7).equals(var1)) {
  1127.             this.field_5.a(var1);
  1128.             this.field_7 = null;
  1129.          }
  1130.       }
  1131.  
  1132.    }
  1133.  
  1134.    // $FF: renamed from: a () void
  1135.    private void method_8() {
  1136.       this.field_24.push(this.field_25);
  1137.       this.field_25 = Font.getFont(32, this.field_25.getStyle(), this.field_25.getSize());
  1138.       if (this.field_5.O && this.field_25.stringWidth("sex") <= 3) {
  1139.          Graphics var1 = Image.createImage(1, 1).getGraphics();
  1140.          var1.setFont(this.field_25);
  1141.          var1.drawString("sex", 0, 0, 20);
  1142.       }
  1143.  
  1144.    }
  1145.  
  1146.    // $FF: renamed from: c () void
  1147.    private void method_9() {
  1148.       this.field_24.push(this.field_25);
  1149.       this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 2, this.field_25.getSize());
  1150.    }
  1151.  
  1152.    // $FF: renamed from: a (l) void
  1153.    private void method_10(l var1) {
  1154.       if (var1.b() > 0) {
  1155.          this.field_20.addElement(var1);
  1156.       }
  1157.  
  1158.       this.field_26 &= -2;
  1159.       this.method_16();
  1160.    }
  1161.  
  1162.    // $FF: renamed from: a (java.lang.String[], int[], byte[], boolean[], e) void
  1163.    private void method_11(String[] var1, int[] var2, byte[] var3, boolean[] var4, e var5) throws IOException {
  1164.       String var6 = var1[0];
  1165.       int var7 = var2[0];
  1166.       int var8 = var2[1];
  1167.       if (var6 != null && var7 > 0 && var8 > 0) {
  1168.          var6 = var6 + '#' + var7 + ',' + var8;
  1169.          int var9 = 100;
  1170.          if (var7 > this.field_3) {
  1171.             var9 = 100 * this.field_3 / var7;
  1172.             var8 = this.field_3 * var8 / var7;
  1173.             var7 = this.field_3;
  1174.             if (var8 == 0) {
  1175.                var8 = 1;
  1176.             }
  1177.          }
  1178.  
  1179.          if (var7 > this.field_3 - this.field_22) {
  1180.             this.method_17(var8 + 2);
  1181.          } else {
  1182.             this.method_20(var8 + 2);
  1183.          }
  1184.  
  1185.          this.method_21(var3[0]);
  1186.          if (var5 != null) {
  1187.             if (var4[1] && var5 instanceof l) {
  1188.                ((l)var5).e = true;
  1189.             }
  1190.  
  1191.             var5.b(var9);
  1192.             var5.a(this.field_19.size());
  1193.          }
  1194.  
  1195.          this.field_19.addElement(new y(this.field_5.g, var6, this.field_22, this.method_18(var8), var7, var8));
  1196.          this.field_22 += var7 + 2;
  1197.       }
  1198.  
  1199.    }
  1200.  
  1201.    // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, v) u
  1202.    private u method_12(String var1, String var2, int var3, int var4, int var5, int var6, v var7) {
  1203.       if (var3 <= 0) {
  1204.          var3 = 3;
  1205.       }
  1206.  
  1207.       if (var4 <= 0) {
  1208.          var4 = 20;
  1209.       }
  1210.  
  1211.       if (var5 == 0) {
  1212.          var5 = -1;
  1213.       }
  1214.  
  1215.       if (this.field_22 > 0) {
  1216.          this.method_17(var3 * this.field_25.getHeight() + 2);
  1217.       } else {
  1218.          this.method_20(var3 * this.field_25.getHeight() + 2);
  1219.       }
  1220.  
  1221.       int var8 = var4 * this.field_25.charWidth(' ');
  1222.       if (var8 >= this.field_3) {
  1223.          var8 = this.field_3;
  1224.       }
  1225.  
  1226.       u var9 = new u(var1, var2, true);
  1227.       this.field_20.addElement(new x(var9, this.field_19.size(), var5, var6));
  1228.       this.field_19.addElement(new t(var9, this.field_22, this.field_23 + 1, var8, var3 * this.field_25.getHeight(), var6, this.field_25));
  1229.       if (var7 != null) {
  1230.          var7.a(var9);
  1231.       }
  1232.  
  1233.       this.field_22 += var8 + 1;
  1234.       if (this.field_5.j) {
  1235.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1236.       }
  1237.  
  1238.       return var9;
  1239.    }
  1240.  
  1241.    // $FF: renamed from: a (java.lang.String, e) int
  1242.    private int method_13(String var1, e var2) {
  1243.       int var3 = var1.length();
  1244.       int var4 = 0;
  1245.       int var5 = 0;
  1246.       int var6 = 0;
  1247.       int var7 = this.field_22;
  1248.  
  1249.       while(var5 < var3) {
  1250.          int var8 = var1.indexOf(32, var5);
  1251.          if (var8 < 0) {
  1252.             var8 = var3;
  1253.          }
  1254.  
  1255.          if (var8 > 0) {
  1256.             int var9 = this.field_25.substringWidth(var1, var5, var8 - var5);
  1257.             if (var9 >= this.field_3 - this.field_22) {
  1258.                int var10 = var5 - 1;
  1259.                if (var6 == var5 && this.field_22 == 0) {
  1260.                   int var11 = 1;
  1261.  
  1262.                   while(true) {
  1263.                      Thread.yield();
  1264.                      if (this.field_14) {
  1265.                         return var4;
  1266.                      }
  1267.  
  1268.                      var9 = this.field_25.substringWidth(var1, var5, var8 - var5 - var11);
  1269.                      if (var9 <= this.field_3 - this.field_22) {
  1270.                         var5 = var10 = var8 - var11;
  1271.                         break;
  1272.                      }
  1273.  
  1274.                      ++var11;
  1275.                   }
  1276.                }
  1277.  
  1278.                if (var10 > var6) {
  1279.                   if (var2 != null) {
  1280.                      var2.a(this.field_19.size());
  1281.                   }
  1282.  
  1283.                   this.method_20(this.field_25.getHeight());
  1284.                   this.field_19.addElement(new i(var1.substring(var6, var10), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1285.                   if (this.field_22 + var9 > var4) {
  1286.                      var4 = this.field_22 + var9;
  1287.                   }
  1288.                }
  1289.  
  1290.                this.method_17(this.field_25.getHeight());
  1291.                var7 = 0;
  1292.                var6 = var5;
  1293.                continue;
  1294.             }
  1295.  
  1296.             if (var8 + 1 >= var3) {
  1297.                if (var2 != null) {
  1298.                   var2.a(this.field_19.size());
  1299.                }
  1300.  
  1301.                this.method_20(this.field_25.getHeight());
  1302.                this.field_19.addElement(new i(var1.substring(var6, var8), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1303.                this.field_22 += var9;
  1304.                if (this.field_22 > var4) {
  1305.                   var4 = this.field_22;
  1306.                }
  1307.             } else {
  1308.                this.field_22 += var9;
  1309.             }
  1310.          }
  1311.  
  1312.          if (var8 < var3) {
  1313.             this.field_22 += this.field_25.charWidth(' ');
  1314.          }
  1315.  
  1316.          var5 = var8 + 1;
  1317.       }
  1318.  
  1319.       if (this.field_5.j) {
  1320.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1321.       }
  1322.  
  1323.       return var4;
  1324.    }
  1325.  
  1326.    // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
  1327.    private void method_14(InputStream var1, String var2, int var3, boolean var4) throws IOException {
  1328.       if (var3 > 0) {
  1329.          byte[] var5 = this.method_5(var1, var3, var4 ? 64 : -1);
  1330.          if (var5 != null && var5.length > 0) {
  1331.             Thread.yield();
  1332.             if (this.field_14) {
  1333.                return;
  1334.             }
  1335.  
  1336.             try {
  1337.                Image var6 = Image.createImage(var5, 0, var5.length);
  1338.                Object var9 = null;
  1339.                Thread.yield();
  1340.                if (this.field_14) {
  1341.                   return;
  1342.                }
  1343.  
  1344.                if (this.field_5.g == null) {
  1345.                   this.field_5.g = new Hashtable();
  1346.                   this.field_5.w = var6.getHeight();
  1347.                   y var7 = new y(this.field_5.g, var2, 0, 0, var6.getWidth(), var6.getHeight());
  1348.                   this.field_19.addElement(var7);
  1349.                }
  1350.  
  1351.                this.field_5.g.put(var2, var6);
  1352.                this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1353.             } catch (IllegalArgumentException var8) {
  1354.                if (this.field_5.g == null) {
  1355.                   throw var8;
  1356.                }
  1357.             }
  1358.          }
  1359.  
  1360.       }
  1361.    }
  1362.  
  1363.    // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
  1364.    private final String method_15(String var1, boolean var2) {
  1365.       int var3 = var1.length();
  1366.       StringBuffer var4 = new StringBuffer(var3);
  1367.  
  1368.       for(int var5 = 0; var5 < var3; ++var5) {
  1369.          char var6 = var1.charAt(var5);
  1370.          switch (var6) {
  1371.             case '"':
  1372.                if (var2) {
  1373.                   var4.append(""");
  1374.                   break;
  1375.                }
  1376.             default:
  1377.                if (var6 > 127) {
  1378.                   var4.append("&#" + var6 + ';');
  1379.                } else {
  1380.                   var4.append(var6);
  1381.                }
  1382.                break;
  1383.             case '&':
  1384.                var4.append("&");
  1385.                break;
  1386.             case '<':
  1387.                var4.append("<");
  1388.                break;
  1389.             case '>':
  1390.                var4.append(">");
  1391.          }
  1392.       }
  1393.  
  1394.       return var4.toString();
  1395.    }
  1396.  
  1397.    // $FF: renamed from: b () void
  1398.    private void method_16() {
  1399.       try {
  1400.          this.field_25 = (Font)this.field_24.pop();
  1401.       } catch (EmptyStackException var2) {
  1402.       }
  1403.  
  1404.    }
  1405.  
  1406.    // $FF: renamed from: c (int) void
  1407.    private void method_17(int var1) {
  1408.       this.field_22 = 0;
  1409.       this.field_23 += this.field_27;
  1410.       this.field_27 = var1;
  1411.       this.field_28 = 0;
  1412.       this.field_5.w = this.field_23 + this.field_27;
  1413.    }
  1414.  
  1415.    // $FF: renamed from: a (int) int
  1416.    private int method_18(int var1) {
  1417.       return this.method_19(var1, false);
  1418.    }
  1419.  
  1420.    // $FF: renamed from: a (int, boolean) int
  1421.    private int method_19(int var1, boolean var2) {
  1422.       switch (this.field_28) {
  1423.          case 1:
  1424.             return this.field_23 + (var2 ? 0 : 1);
  1425.          case 2:
  1426.             return this.field_23 + this.field_27 / 2 - var1 / 2;
  1427.          default:
  1428.             return this.field_23 + this.field_27 - var1 - (var2 ? 0 : 1);
  1429.       }
  1430.    }
  1431.  
  1432.    // $FF: renamed from: b (int) void
  1433.    private void method_20(int var1) {
  1434.       if (var1 > this.field_27) {
  1435.          this.field_27 = var1;
  1436.          this.field_5.w = this.field_23 + this.field_27;
  1437.          if (this.field_22 > 0) {
  1438.             this.method_22();
  1439.          }
  1440.       }
  1441.  
  1442.    }
  1443.  
  1444.    // $FF: renamed from: a (byte) void
  1445.    private void method_21(byte var1) {
  1446.       if (this.field_28 != var1) {
  1447.          this.field_28 = var1;
  1448.          this.method_22();
  1449.       }
  1450.  
  1451.    }
  1452.  
  1453.    // $FF: renamed from: e () void
  1454.    private void method_22() {
  1455.       for(int var1 = this.field_19.size() - 1; var1 >= 0; --var1) {
  1456.          c var2 = (c)this.field_19.elementAt(var1);
  1457.          if (var2.e < this.field_23) {
  1458.             break;
  1459.          }
  1460.  
  1461.          var2.e = this.method_19(var2.b(), var2 instanceof i);
  1462.       }
  1463.  
  1464.    }
  1465. }
  1466.